The present invention relates to a memory card and, more particularly, to a technique effectively applied to realization of multiple functions of a memory card using a nonvolatile memory.
As a storage device of a personal computer, a multifunctional peripheral, or the like, a memory card is being rapidly spread. In association with a request for higher performance in recent years, as a semiconductor memory to be mounted on a memory card, for example, a nonvolatile memory such as a flash memory which can be electrically erased and rewritten in a lump and can hold a large amount of data is used.
In such a memory card, a control program is stored in a ROM (Read Only Memory) or the like provided in the memory card. In some cases, firmware such as a patch program for a control program and an addition control program for extending the function of a control program stored in a ROM is stored in a flash memory.
Firmware (hereinbelow, also called firmware on a flash memory) can be rewritten freely many times. A change, addition of a function, and the like can be easily freely made on firmware on a flash memory even assembled in a product.
In some multimedia cards, validity or invalidity of a command and a data format is set by firmware (for example, Japanese Unexamined Patent Publication No. 2003-085509).
Further, in some IC cards, a command table is provided in a nonvolatile memory such as an EEPROM (Electrically Erasable and Programmable ROM) in addition to a command table in a ROM. In the case where the command table in the ROM is known or may be known by a third party, the command table in the nonvolatile memory is used (for example, Japanese Unexamined Patent Publication No. Hei 7 (1995)-44672).